package sanrenxing.dayEnd.backRepertoryTotal.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import sanrenxing.dayEnd.backRepertoryTotal.domain.CashAccount;
import sanrenxing.dayEnd.backRepertoryTotal.service.impl.CashAccountBizImpl;

import java.util.HashMap;
import java.util.Map;

/**
 * 功能：现金账户控制器类
 * 编写者：蒋玲苹
 * 日期：21-03-19
 * 版本：1.0
 */
@RestController
@RequestMapping("/cashAccount")
public class CashAccountController {
    //定义业务层接口
    @Autowired
    private CashAccountBizImpl cashAccountBiz;

    /**
     * 显示数据
     * @param page 页数
     * @param limit 行数
     * @param cashAccount 现金账户对象
     * @return map
     */
    @GetMapping("/cash")
    public Map<String,Object> queryAll(int page, int limit, CashAccount cashAccount){
        //创建Map集合对象
        Map<String,Object> map=new HashMap<>();
        //在映射集合中添加key为code
        map.put("code",0);
        //在映射集合中添加key为msg
        map.put("msg","");
        //在映射集合中添加key为count
        map.put("count",cashAccountBiz.count(cashAccount));
        //在映射集合中添加key为data
        map.put("data",cashAccountBiz.queryAll(cashAccount,limit,(page-1)*limit));
        //在映射集合中添加key为fs
        map.put("fs",cashAccountBiz.fs());
        return map;
    }
    /**
     * 添加数据
     * @param cashAccount 现金账户对象
     * @return  成功："success" 失败："failure"
     */
    @PostMapping("/cash")
    public String addCash(@RequestBody CashAccount cashAccount){
        //调用cashAccountBiz的添加方法
        int rows=cashAccountBiz.add(cashAccount);
        //返回
        return rows>0?"success":"failure";
    }

    /**
     * 删除数据
     * @param str
     * @return   成功："success" 失败："failure"
     */
    @DeleteMapping("/cash/{str}")
    public String deleteCash(@PathVariable String str){
        //调用cashAccountBiz的删除方法
        int rows=cashAccountBiz.delete(str);
        //返回
        return rows>0?"success":"failure";
    }

    /**
     * 修改数据
     * @param cashAccount 现金账户对象
     * @return  成功："success" 失败："failure"
     */
    @PutMapping("/cash")
    public String updateCash(@RequestBody CashAccount cashAccount){
        //调用cashAccountBiz的修改方法
        int rows=cashAccountBiz.update(cashAccount);
        //返回
        return rows>0?"success":"failure";
    }

}
